const express = require('express');
const path = require('path');
const router = require('./router');

const session = require('express-session');

const app = express();

let bodyParser = require('body-parser');

// 开放静态资源
app.use('/public/',express.static(path.join(__dirname,'./public/')));
app.use('/node_modules/',express.static(path.join(__dirname,'./node_modules/')));

// express 中不支持 session 和 cookie ,但是可以通过 express - session 中间件来解决
// 使用 express-session 配置 express-session
app.use(session({
  secret: 'wangui',// -> 配置 加密字符串 和原来的密码加密一起 增加安全性
  resave: false,
  saveUninitialized: false // 无论是否使用 session  都给发送一个钥匙
}))

// 引入  art-template
app.engine('html',require('express-art-template'));

// 引入 post 提交的中间件
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());

// 引入路由
app.use(router);


// 配置404 错误中间件

app.use((req,res)=>{

  res.render('404.html');

});

// 配置全局错误中间件
app.use((err,req,res,next)=>{

  res.status(500).json({
    err_code: 500,
    message: err.message
  })

});

app.listen(3030,()=>{
    console.log('server is running on port 3030');
});